home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.3 (Developer)…68k, x86, SPARC, PA-RISC] / NeXTSTEP 3.3 Dev Intel.iso / NextDeveloper / Headers / bsd / dev / evsio.h < prev    next >
Text File  |  1995-02-14  |  5KB  |  175 lines

  1. /*     Copyright (c) 1992 NeXT Computer, Inc.  All rights reserved. 
  2.  *
  3.  * evsio.h - Get/Set parameter calls for Event Status Driver.
  4.  *
  5.  *    CAUTION: Developers should stick to the API exported in
  6.  *        <drivers/event_status_driver.h> to guarantee
  7.  *        binary compatability of their applications in future
  8.  *        releases.
  9.  *
  10.  * HISTORY
  11.  * 22 May 1992    Mike Paquette at NeXT
  12.  *      Created. 
  13.  */
  14. #ifndef _DEV_EVSIO_
  15. #define _DEV_EVSIO_
  16.  
  17. #import <bsd/dev/ev_types.h>      /* Public type definitions. */
  18. #import <bsd/dev/event.h>      /* Public type definitions. */
  19. #import <kernserv/clock_timer.h>    /* For ns_time_t */
  20.  
  21. /*
  22.  * Identify this driver as one that uses the new driverkit and messaging API
  23.  */
  24. #ifndef _NeXT_MACH_EVENT_DRIVER_
  25. #define _NeXT_MACH_EVENT_DRIVER_    (1)
  26. #endif /* _NeXT_MACH_EVENT_DRIVER_ */
  27.  
  28. /*
  29.  * Time values, as ns_time_t quantities, are passed in packed as
  30.  * integer arrays.  The following union is provided
  31.  * to assist with packing and unpacking.
  32.  */
  33. typedef union
  34. {
  35.     ns_time_t    tval;
  36.     unsigned    itval[(sizeof(ns_time_t)+sizeof(unsigned)-1)/sizeof(unsigned)];
  37. } _NX_packed_time_t;
  38. #define EVS_PACKED_TIME_SIZE    (sizeof (_NX_packed_time_t) / sizeof (int))
  39.  
  40. #define EVS_PREFIX    "Evs_"    /* All EVS calls start with this string */
  41. /* WaitCursor-related ioctls */
  42.  
  43. #define EVSIOSWT "Evs_SetWaitThreshold"
  44. #define EVSIOSWT_SIZE    EVS_PACKED_TIME_SIZE
  45.  
  46. #define EVSIOSWS "Evs_SetWaitSustain"
  47. #define EVSIOSWS_SIZE    EVS_PACKED_TIME_SIZE
  48.  
  49. #define EVSIOSWFI "Evs_SetWaitFrameInterval"
  50. #define EVSIOSWFI_SIZE    EVS_PACKED_TIME_SIZE
  51.  
  52. #define EVSIOCWINFO    "Evs_CurrentWaitCursorInfo"
  53. #define EVSIOCWINFO_THRESH    0
  54. #define EVSIOCWINFO_SUSTAIN    (EVSIOCWINFO_THRESH + EVS_PACKED_TIME_SIZE)
  55. #define EVSIOCWINFO_FINTERVAL    (EVSIOCWINFO_SUSTAIN + EVS_PACKED_TIME_SIZE)
  56. #define EVSIOCWINFO_SIZE    (EVSIOCWINFO_FINTERVAL + EVS_PACKED_TIME_SIZE)
  57.  
  58.  
  59. /* Device control ioctls. Levels specified may be in the range 0 - 64. */
  60.  
  61. #define EVSIOSB      "Evs_SetBrightness"
  62. #define EVSIOSB_SIZE    1
  63.  
  64. #define EVSIOSA      "Evs_SetAttenuation"
  65. #define EVIOSA_SIZE    1
  66.  
  67. #define EVSIOSADB "Evs_SetAutoDimBrightness"
  68. #define EVSIOSADB_SIZE    1
  69.  
  70. #define EVSIO_DCTLINFO    "Evs_DeviceControlInfo"
  71. typedef enum {
  72.     EVSIO_DCTLINFO_BRIGHT,
  73.     EVSIO_DCTLINFO_ATTEN,
  74.     EVSIO_DCTLINFO_AUTODIMBRIGHT
  75. } evsio_DCTLINFOIndices;
  76. #define EVSIO_DCTLINFO_SIZE    (EVSIO_DCTLINFO_AUTODIMBRIGHT + 1)
  77.  
  78. /*
  79.  * Device status request
  80.  */
  81. #define    EVSIOINFO  NX_EVS_DEVICE_INFO
  82.  
  83.  
  84. /* Keyboard-related ioctls - implemented within Event Sources */
  85.  
  86. #define EVSIOSKR  "Evs_SetKeyRepeat"
  87. #define EVSIOSKR_SIZE    EVS_PACKED_TIME_SIZE
  88.  
  89. #define EVSIOSIKR "Evs_SetInitialKeyRepeat"
  90. #define EVSIOSIKR_SIZE    EVS_PACKED_TIME_SIZE
  91.  
  92. #define EVSIORKBD "Evs_ResetKeyboard"
  93. #define EVSIORKBD_SIZE    1
  94.  
  95. #define EVSIOCKR  "Evs_CurrentKeyRepeat"
  96. #define    EVSIOCKR_INITIAL    0
  97. #define    EVSIOCKR_BETWEEN    (EVSIOCKR_INITIAL + EVS_PACKED_TIME_SIZE)
  98. #define EVSIOCKR_SIZE        (EVSIOCKR_BETWEEN + EVS_PACKED_TIME_SIZE)
  99.  
  100. #define    EVSIOCKML "Evs_CurrentKeyMappingLength"
  101. #define EVSIOCKML_SIZE    1
  102.  
  103. /* The following two tokens are for use with the get/set character routines. */
  104. #define EVSIOSKM  "Evs_SetKeyMapping"
  105. #define EVSIOSKM_SIZE    4096
  106.  
  107. #define    EVSIOCKM  "Evs_CurrentKeyMapping"
  108. #define EVSIOCKM_SIZE    4096
  109.  
  110. /* Mouse-related ioctls - implemented within Event Sources */
  111.  
  112. #define    EVSIOSMS  "Evs_SetMouseScaling"
  113. #define    EVSIOSMS_NSCALINGS    0
  114.     /* The data consists of NX_MAXMOUSESCALINGS threshold/factor pairs. */
  115. #define    EVSIOSMS_DATA        (EVSIOSMS_NSCALINGS + 1)
  116. #define    EVSIOSMS_SIZE        (EVSIOSMS_DATA + (2 * NX_MAXMOUSESCALINGS))
  117.  
  118. #define    EVSIOCMS  "Evs_CurrentMouseScaling"
  119. #define    EVSIOCMS_NSCALINGS    0
  120.     /* The data consists of NX_MAXMOUSESCALINGS threshold/factor pairs. */
  121. #define    EVSIOCMS_DATA        (EVSIOCMS_NSCALINGS + 1)
  122. #define    EVSIOCMS_SIZE        (EVSIOCMS_DATA + (2 * NX_MAXMOUSESCALINGS))
  123.  
  124. #define EVSIOSMH  "Evs_SetMouseHandedness"
  125. #define EVSIOSMH_SIZE    1        // value from NXMouseButton enum
  126.  
  127. #define EVSIOCMH  "Evs_CurrentMouseHandedness"
  128. #define EVSIOCMH_SIZE    1
  129.  
  130.  
  131. /* Generic pointer device controls, implemented by the Event Driver. */
  132. #define    EVSIOSCT  "Evs_SetClickTime"
  133. #define EVSIOSCT_SIZE    EVS_PACKED_TIME_SIZE
  134.  
  135. #define    EVSIOSCS  "Evs_SetClickSpace"
  136. typedef enum {
  137.     EVSIOSCS_X,
  138.     EVSIOSCS_Y
  139. } evsioEVSIOSCSIndices;
  140. #define EVSIOSCS_SIZE    (EVSIOSCS_Y + 1)
  141.  
  142. #define EVSIOSADT "Evs_SetAutoDimTime"
  143. #define EVSIOSADT_SIZE    EVS_PACKED_TIME_SIZE
  144.  
  145. #define EVSIOSADS "Evs_SetAutoDimState"
  146. #define EVSIOSADS_SIZE    1
  147.  
  148. #define EVSIORMS  "Evs_ResetMouse"
  149. #define EVSIORMS_SIZE    1
  150.  
  151. #define    EVSIOCCT  "Evs_CurrentClickTime"
  152. #define EVSIOCCT_SIZE    EVS_PACKED_TIME_SIZE
  153.  
  154. #define EVSIOCADT "Evs_CurrentAutoDimTime"
  155. #define EVSIOCADT_SIZE    EVS_PACKED_TIME_SIZE
  156.  
  157. #define EVSIOGDADT "Evs_GetDeltaAutoDimTime"
  158. #define EVSIOGDADT_SIZE    EVS_PACKED_TIME_SIZE
  159.  
  160. #define EVSIOIDLE "Evs_GetIdleTime"
  161. #define EVSIOIDLE_SIZE    EVS_PACKED_TIME_SIZE
  162.  
  163. #define    EVSIOCCS  "Evs_CurrentClickSpace"
  164. typedef enum {
  165.     EVSIOCCS_X,
  166.     EVSIOCCS_Y
  167. } evsioEVSIOCCSIndices;
  168. #define EVSIOCCS_SIZE    (EVSIOCCS_Y + 1)
  169.  
  170. #define EVSIOCADS "Evs_AutoDimmed"
  171. #define EVSIOCADS_SIZE    1
  172.  
  173. #endif _DEV_EVSIO_
  174.  
  175.